﻿using System;
using System.Collections.Generic;
using System.Text;
using System.Runtime.Serialization;
using System.Runtime.Serialization.Formatters;

namespace Ruandao
{
    /// <summary>
    /// 一般在业务方法中抛出该异常。指出当前用户提交的任务没有完成，
    /// 在异常信息中给出操作失败的原因，比如网络阻塞、数据库连接超时、
    /// 系统正在维护以及其他可能导致该操作实例的其他原因。
    /// </summary>
    [Serializable]
    public class SaveDataException
        : Exception, ISerializable
    {
        /// <summary>
        /// 默认构造。
        /// </summary>
        public SaveDataException()
            :base()
        { }

        /// <summary>
        /// 构造指定消息的异常。
        /// </summary>
        /// <param name="message">异常消息。</param>
        public SaveDataException(string message)
            : base(message)
        { }

        /// <summary>
        /// 构造异常，指定异常信息和引发该异常的内部异常。
        /// </summary>
        /// <param name="message">异常信息。</param>
        /// <param name="inner">内部异常。</param>
        public SaveDataException(string message, Exception inner)
            : base(message, inner)
        { }

        private SaveDataException(SerializationInfo info, StreamingContext context)
            : base(info, context)
        { }

        void ISerializable.GetObjectData(SerializationInfo info, StreamingContext context)
        {
            base.GetObjectData(info, context);
        }
    }
}
